package cn.adelyn.base.auth.pojo.dto;

import cn.adelyn.common.core.util.PrincipalUtil;
import lombok.Data;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;

/**
 * @author chengze
 * @date 2022/12/20
 * @desc 用于登陆传递账号密码
 */
@Data
public class AuthenticationDTO {

	// 底层提供了租户的支持，若出现不同租户相同用户名的情况，可在登录入参增加租户信息

	/**
	 * 用户名
	 */
	@NotBlank(message = "principal不能为空")
	@Pattern(regexp = PrincipalUtil.USER_NAME_REGEXP, message = "用户名应为数字、字母、下划线组成,且为4-16位,不能为纯数字")
	private String principal;

	/**
	 * 密码
	 */
	@NotBlank(message = "credentials不能为空")
	private String credentials;

}
